home *** CD-ROM | disk | FTP | other *** search
/ Chip 2001 June / CHIP Haziran 2001.iso / prog / haziran / 19 / setup.exe / data.z / drvload.h < prev    next >
C/C++ Source or Header  |  2001-04-11  |  2KB  |  89 lines

  1. #ifndef _LOADDRV_H_
  2. #define _LOADDRV_H_ 
  3.  
  4. class LoadDriver
  5. {
  6. public:
  7.     LoadDriver();
  8.     virtual ~LoadDriver();
  9.     virtual BOOL Init(char *sDriverName, char *sDriverFile, DWORD startLevel=SERVICE_AUTO_START,
  10.                       char *sDriverPath = NULL, BOOL fUseReg = FALSE);
  11.     virtual BOOL Create()=0;
  12.     virtual BOOL Delete()=0;
  13.     virtual BOOL Start()=0;
  14.     virtual BOOL Stop()=0;
  15.     char *GetLastMsg();
  16.     virtual BOOL HasErr();
  17.     virtual BOOL HasWrn();
  18.     virtual BOOL HasMsg();
  19.  
  20. protected:
  21.     virtual void PrintErr(char *msg);
  22.     virtual void PrintWrn(char *msg);
  23.     virtual void ClearErr();
  24.     virtual void SetPaths(char *sDriverName, char *sDriverFile, char *sDriverPath);
  25.     virtual BOOL OpenSCMHandle()=0;
  26.     virtual void CloseSCMHandle()=0;
  27.  
  28.     char m_sLastMsg[2000];
  29.     BOOL m_fUseReg;
  30.     HANDLE m_h;
  31.     BOOL m_fHasErr;
  32.     BOOL m_fHasWrn;
  33.     DWORD m_iStartLevel;
  34.     char m_sDriverName[1000];
  35.     char m_sDriverFile[1000];
  36.     char m_sDriverPath[1000];
  37. };
  38.  
  39. class LoadDriver95 : public LoadDriver
  40. {
  41. public:
  42.     LoadDriver95();
  43.     virtual ~LoadDriver95();
  44.     virtual BOOL Create();
  45.     virtual BOOL Delete();
  46.     virtual BOOL Start();
  47.     virtual BOOL Stop();
  48. protected:
  49.     virtual BOOL OpenSCMHandle();
  50.     virtual void CloseSCMHandle();
  51.     virtual void SetPaths(char *sDriverName, char *sDriverFile, char *sDriverPath);
  52. };
  53.  
  54. class LoadDriverNT : public LoadDriver
  55. {
  56. public:
  57.     LoadDriverNT();
  58.     virtual ~LoadDriverNT();
  59.     virtual BOOL Create();
  60.     virtual BOOL Delete();
  61.     virtual BOOL Start();
  62.     virtual BOOL Stop();
  63.     virtual BOOL CreateReg();
  64.     virtual BOOL DeleteReg();
  65. protected:
  66.     virtual BOOL OpenSCMHandle();
  67.     virtual void CloseSCMHandle();
  68.     virtual void SetPaths(char *sDriverName, char *sDriverFile, char *sDriverPath);
  69. };
  70.  
  71. class LoadDriver98 : public LoadDriver
  72. {
  73. public:
  74.     LoadDriver98();
  75.     virtual ~LoadDriver98();
  76.     virtual BOOL Create();
  77.     virtual BOOL Delete();
  78.     virtual BOOL Start();
  79.     virtual BOOL Stop();
  80. protected:
  81.     virtual BOOL OpenSCMHandle();
  82.     virtual void CloseSCMHandle();
  83.     virtual void SetPaths(char *sDriverName, char *sDriverFile, char *sDriverPath);
  84. };
  85.  
  86. LoadDriver *NewLoadDriver(BOOL fVxd);
  87.  
  88. #endif _LOADDRV_H_
  89.